package cn.ljy.authority.model;

import cn.ljy.common.model.BaseModel;
import cn.ljy.common.model.validate.UpdateWorkValidation;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

@ApiModel(value="资源文件")
@Data
@EqualsAndHashCode(callSuper = false,of = {"id"})
@NoArgsConstructor
public class SysFileResource extends BaseModel {
    @NotNull(groups = UpdateWorkValidation.class,message="id不能为空")
    private String id;//主键
    @NotNull(message = "作者不能为空")
    private SysUser author;//作者
    private SysUser lastAuthor;//最后编辑作者
    @NotBlank(message = "文件上传地址不能为空")
    private String fileUrl;//上传文件地址
    @NotBlank(message = "上传原文件名不能为空")
    @Length(min = 1, max = 250, message = "上传文件名字的长度必须在 {min} - {max} 之间")
    private String originFileName;//上传原文件名
    @NotBlank(message = "资源标题不能为空")
    @Length(min = 1, max = 250, message = "资源标题长度必须在 {min} - {max} 之间")
    private String title;//标题
    private String description;//资源描述.上传文件描述。不能为null，主要是为null时，wangeditor会出错。通常在编辑时，如果为NULL，连续打开2个不同记录会报错
    private Long resourceSize;//资源大小，单位是B
    private String resourceType;//文件类型，由系统自己的设定值判断
    private Boolean enabled;//资源是否可用，默认可用

    //非数据库字段
    private String resourceSizePrint;//将资源大小转化为合适展示的大小展示，例如2537253L ==> "2.3 MB"
    private String fileHttpUrl;//拼接后的文件地址
}
